package com.xinqi.modules.sys.complaint.service;

import com.xinqi.common.base.response.PageInfo;
import com.xinqi.common.base.response.Param;
import com.xinqi.modules.sys.complaint.dto.req.ComplaintCreateDTO;
import com.xinqi.modules.sys.complaint.dto.req.ComplaintDeleteDTO;
import com.xinqi.modules.sys.complaint.dto.req.ComplaintHandlingDTO;
import com.xinqi.modules.sys.complaint.dto.req.ComplaintQueryDTO;
import com.xinqi.modules.sys.complaint.dto.rsp.ComplaintResultDTO;


/**
 * 聊天投诉表服务层
 *
 * @author: yyzhenn
 * @date: 2023/04/23
 */
public interface ComplaintService {
    /**
     * 分页查询 聊天投诉表数据
     *
     * @param pageable
     * @param query
     * @return
     */
    PageInfo<ComplaintResultDTO> page(Param pageable, ComplaintQueryDTO query);

    /**
     * 根据id查询 聊天投诉表数据
     *
     * @param id
     * @return
     */
    ComplaintResultDTO findById(Long id);

    /**
     * 新增 聊天投诉表数据
     *
     * @param dto
     * @return
     */
    Long insert(ComplaintCreateDTO dto);

    /**
     * 处理
     *
     * @param dto
     * @return
     */
    Boolean handling(ComplaintHandlingDTO dto);

    /**
     * 根据id删除 聊天投诉表数据
     *
     * @param id
     * @return
     */
    Boolean deleteById(Long id);

    /**
     * 根据id删除 聊天投诉表数据
     *
     * @param dto
     * @return
     */
    Boolean deleteById(ComplaintDeleteDTO dto);

    /**
     * 定时任务 -- 账号解封
     */
    void accountUnblocking();
}
